# settings.py
import os
from math import floor

# 获取字体绝对路径
FONT_PATH = os.path.join(os.path.dirname(__file__), 'fonts/simhei.ttf')

# 游戏常量设置
WIDTH, HEIGHT = 1080, 920
BACKGROUND_COLOR = (255, 255, 255)

LONGITUDINAL_DISTANCE = 40  # 纵向默认40尺
SCALE = int(HEIGHT / LONGITUDINAL_DISTANCE)  # 比例尺

# 圆形参数
YELLOW_CIRCLE_RADIUS = 10 * SCALE  # 黄圈10尺
XR_RADIUS = 5 * SCALE  # 悬刃半径
YH_RADIUS = 2 * SCALE  # 烟火半径
RED_CIRCLE_POSITION_RADIUS = 15 * SCALE  # 红点位置半径16尺
RED_CIRCLE_RADIUS = SCALE  # 红点半径

# 箭头颜色
ARROW_COLORS = {
    'player': (0, 0, 255),
    'fixed': (100, 100, 100)
}

# 备选位置参数
CANDIDATE_COLORS = {
    'inner': (0, 0, 139),
    "median1": (0, 0, 139),
    "median2": (0, 0, 139),
    'outer': (0, 0, 139)
}
CANDIDATE_RADII = {
    'inner': 7 * SCALE,
    "median1": 3 * SCALE,
    "median2": 13 * SCALE,
    'outer': 17 * SCALE
}
CANDIDATE_SIZE = 20

# 移动速度参数（新增）
MOVE_SPEEDS = {
    'base': 2 * YELLOW_CIRCLE_RADIUS // 60,  # 基础移动速度
    'return': YELLOW_CIRCLE_RADIUS,  # 返回中心速度
    'advance': 0.7 * YELLOW_CIRCLE_RADIUS // 60  # 前进移动速度
}

# 新增移动持续时间配置
MOVE_DURATION = 2.0  # 移动持续时间（秒）
HIGHLIGHT_DURATION = 8.0  # 红圈总持续时间改为6秒
HIGHLIGHT_PHASE_DELAY = 2.0  # 两波红圈间隔时间

# 新增事件触发配置
AUTO_MOVE_DELAY = 4.0  # 红圈出现后自动移动的延迟时间(秒)

FONT_CONFIG = {
    'path': FONT_PATH,  # 使用绝对路径
    'size': 36,
    'bold': False,
    'colors': {
        'success': (0, 255, 0),
        'fail': (255, 0, 0)
    },
    'duration': 90
}

SUCCESS_CONDITIONS = {
    'group1': {
        'check_time': 'before_move',  # 自动移动前检查
        'required_position': 'inside'  # 需要在黄圈内
    },
    'group2': {
        'check_time': 'after_move',  # 自动移动后检查
        'required_position': 'outside'  # 需要在黄圈外
    }
}

# settings.py

RESULT_CONFIG = {
    'font': 'simhei.ttf',  # 字体文件路径
    'size': 36,  # 统一使用'size'键
    'bold': False,
    'colors': {
        'success': (0, 255, 0),
        'fail': (255, 0, 0)
    },
    'duration': 300  # 5秒（60FPS×5）
}

assert AUTO_MOVE_DELAY > HIGHLIGHT_PHASE_DELAY, "自动移动应在第二组红圈之后"

# 新增说明文字配置
INSTRUCTION_CONFIG = {
    'text': "按下T开始游戏",
    'font_size': 24,
    'color': (100, 100, 100),  # 深灰色
    'bg_color': (255, 255, 255, 150),  # 半透明白色背景
    'padding': 10,
    'position': "bottom-right"  # 固定右下角
}
